package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.settlement.system.converter.DateFormatConvert;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 订单稽核-财务调账表
 * @author Ximi
 * @since 2020-09-25
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblOrderFinAdjustAccount extends BaseModel implements Serializable {


    /**
     * 批次号
     */
    @ExcelProperty(value = "批次号")
    private Long batchNumber;

    /**
     * 入账主体
     */
    @ExcelProperty(value = "账簿简称")
    @ApiModelProperty(value = "账簿简称")
    private String enterAccountBody;

    /**
     * 渠道编码
     */
    @ExcelProperty(value = "渠道编码")
    @ApiModelProperty(value = "渠道编码")
    private String channelNo;

    /**
     * 渠道
     */
    @ExcelProperty(value = "渠道")
    @ApiModelProperty(value = "渠道")
    private String channelName;

    /**
     * 店铺编码
     */
    @ExcelProperty(value = "店铺编码")
    @ApiModelProperty(value = "店铺编码")
    private String shopNo;

    /**
     * 店铺全称
     */
    @ExcelProperty(value = "店铺全称")
    @ApiModelProperty(value = "店铺全称")
    private String shopName;

    /**
     * 线下打款账号
     */
    @ExcelProperty(value = "店铺账号")
    @ApiModelProperty(value = "店铺账号")
    private String shopAccount;

    /**
     * 发生日期
     */
    @ExcelProperty(value = "发生日期",converter = DateFormatConvert.class)
    @ApiModelProperty(value = "发生日期")
    @NotNull(message = "发生日期为空")
    private Date outDate;

    /**
     * 原始外部订单号
     */
    @ExcelProperty(value = "原始外部订单号")
    @ApiModelProperty(value = "原始外部订单号")
    private String spOrderNo;

    /**
     * 金额
     */
    @ExcelProperty(value = "金额")
    @ApiModelProperty(value = "金额")
    @NotNull(message = "金额不能为空")
    private BigDecimal adjustAmount;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    @ApiModelProperty(value = "备注")
    private String remarks;

    /**
     * 删除标记位(0:未删除,1:删除)
     */
    private Integer flag;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    public String createUser;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "创建时间")
    public Date createTime;

    /**
     * 更新人
     */
    @ExcelProperty(value = "更新人")
    public String updateUser;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty(value = "更新时间")
    public Date updateTime;

}

